手把手教你做一个强化学习的环境,用pygame搭建一个可视化训练游戏环境(一)

您所在的位置:网站首页 pygame 3d游戏案例 手把手教你做一个强化学习的环境,用pygame搭建一个可视化训练游戏环境(一)

手把手教你做一个强化学习的环境,用pygame搭建一个可视化训练游戏环境(一)

2024-01-26 03:36| 来源: 网络整理| 查看: 265

可视化训练环境

强化学习基本上用来学习的开源环境比较多, 新手刚入门可以用gym就够了 gym是基于pyglet搭建的,但是做不出比较高大上的效果,而且很多地方不如pygame

pygame

Pygame是一组跨平台的Python模块, 用于创建视频游戏 安装直接conda 里pip install pygame即可

搭建流程(静态部分)

先说一下常用的方法,基本上掌握了就可以组一个完善的小游戏

首先在项目中导入pygame

import pygame from pygame.locals import *

注:和pyglet有些许不同,这里导入即初始化游戏,刷新画面(render)操作需要套在主循环中并且抓住event,不然会卡住

然后做一些初始化

#注释掉的部分完整版中会放开,这里只介绍基础搭建 class Myenv(): def __init__(self) -> None: #self.gen = Generator() #self.player = Player() #初始化游戏 pygame.init() #设定游戏屏幕大小,500宽,450高,这个自己定义 self.screen = pygame.display.set_mode((500, 450)) #这个是小框框标题,可以不设 pygame.display.set_caption("Kousei's game") #这个是自己导入图片,插到游戏中显示 self.line = pygame.image.load(r'E:\RLpaz\data\line.png') self.agent = pygame.image.load(r'E:\RLpaz\data\agent.png') #把图片压缩到指定大小 self.line = pygame.transform.scale(self.line, (图片宽, 图片高)) self.agent = pygame.transform.scale(self.agent, (图片宽, 图片高)) #这个fcclock可以限制游戏刷新率,如果不限制可以不设 self.fcclock = pygame.time.Clock() #设定刷新fps self.fcclock.tick(100) #self.record = [] #self.pre_render(400)

接着环境初始化就弄好了,接着我们需要有个刷新功能,每一帧去把图片刷到游戏里

def step(self,auto = False,a=1): #done是强化学习用来判断回合是否结束 #done = False #背景填充白色,如果你拿图片当背景可以不用设 self.screen.fill


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3